package cn.zwx.infra.svc.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 短信日志表
 * @author Administrator
 * @TableName infra_sms_log
 */
@TableName(value ="infra_sms_log")
@Data
public class SmsLogEntity implements Serializable {
    /**
     * 自增编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 短信渠道编号
     */
    private Long channelId;

    /**
     * 短信渠道编码
     */
    private String channelCode;

    /**
     * 模板编号
     */
    private Long templateId;

    /**
     * 模板编码
     */
    private String templateCode;

    /**
     * 短信类型
     */
    private Integer templateType;

    /**
     * 基于模板内容格式化后的短信内容
     */
    private String templateContent;

    /**
     * 模板参数
     */
    private Object templateParams;

    /**
     * 短信API的模板编号
     */
    private String apiTemplateId;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 用户编号
     */
    private Long userId;

    /**
     * 用户类型
     */
    private Integer userType;

    /**
     * 发送状态
     */
    private Integer sendStatus;

    /**
     * 发送时间
     */
    private Date sendTime;

    /**
     * 短信API发送结果的编码
     */
    private String apiSendCode;

    /**
     * 短信API发送失败的提示
     */
    private String apiSendMsg;

    /**
     * 短信API发送返回的唯一请求ID
     */
    private String apiRequestId;

    /**
     * 短信API发送返回的序号
     */
    private String apiSerialNo;

    /**
     * 接收状态
     */
    private Integer receiveStatus;

    /**
     * 接收时间
     */
    private Date receiveTime;

    /**
     * 短信API接收结果的编码
     */
    private String apiReceiveCode;

    /**
     * 短信API接收结果的提示
     */
    private String apiReceiveMsg;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 最后更新时间
     */
    private Date updateTime;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 更新者
     */
    private String updater;

    /**
     * 是否删除
     */
    private Integer deleted;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}